home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / rhstdlib.arc / STDLIB.A < prev    next >
Encoding:
Text File  |  1990-10-20  |  20.5 KB  |  1,259 lines

  1. ;
  2. ; Interface to standard library routines.
  3. ;
  4. ;
  5. ;------------------------------------------------
  6. ;
  7. ; getc from getc.asm
  8. ;
  9. ; Calling sequence:
  10. ;
  11. ;    getc
  12. ;
  13. ; Returns char read from standard input in AL.
  14. ;
  15. getc        macro
  16.         ifndef    sl_getc
  17. stdlib        segment    para public 'slcode'
  18.         extrn    sl_getc:far
  19. stdlib        ends                
  20.         endif
  21.         call    sl_getc
  22.         endm
  23. ;
  24. ;
  25. ;
  26. GetcStdIn    macro
  27.         ifndef    sl_GetcStdIn
  28. stdlib        segment    para public 'slcode'
  29.         extrn    sl_GetcStdIn:far
  30. stdlib        ends                
  31.         endif
  32.         call    sl_GetcStdIn
  33.         endm
  34. ;
  35. ;
  36. GetcBIOS    macro
  37.         ifndef    sl_GetcBIOS
  38. stdlib        segment    para public 'slcode'
  39.         extrn    sl_GetcBIOS:far
  40. stdlib        ends                
  41.         endif
  42.         call    sl_GetcBIOS
  43.         endm
  44. ;
  45. ;
  46. SetInAdrs    macro
  47.         ifndef    sl_SetInAdrs
  48. stdlib        segment    para public 'slcode'
  49.         extrn    sl_SetInAdrs:far
  50. stdlib        ends                
  51.         endif
  52.         call    sl_SetInAdrs
  53.         endm
  54. ;
  55. ;
  56. GetInAdrs    macro
  57.         ifndef    sl_GetInAdrs
  58. stdlib        segment    para public 'slcode'
  59.         extrn    sl_GetInAdrs:far
  60. stdlib        ends                
  61.         endif
  62.         call    sl_GetInAdrs
  63.         endm
  64. ;
  65. ;
  66. PushInAdrs    macro
  67.         ifndef    sl_PushInAdrs
  68. stdlib        segment    para public 'slcode'
  69.         extrn    sl_PushInAdrs:far
  70. stdlib        ends                
  71.         endif
  72.         call    sl_PushInAdrs
  73.         endm
  74. ;
  75. ;
  76. PopInAdrs    macro
  77.         ifndef    sl_PopInAdrs
  78. stdlib        segment    para public 'slcode'
  79.         extrn    sl_PopInAdrs:far
  80. stdlib        ends                
  81.         endif
  82.         call    sl_PopInAdrs
  83.         endm
  84. ;
  85. ;
  86. ;------------------------------------------------
  87. ;
  88. ; gets from gets.asm
  89. ;
  90. ; Calling sequence:
  91. ;
  92. ;    gets
  93. ;
  94. ; Reads a string from the standard input (up to EOLN), allocates storage
  95. ; for that string on the heap, and returns a pointer to that string in
  96. ; ES:SI.
  97. ;
  98. ;
  99. gets        macro
  100.         ifndef    sl_gets
  101. stdlib        segment    para public 'slcode'
  102.         extrn    sl_gets:far
  103. stdlib        ends
  104.         endif
  105.         call    sl_gets
  106.         endm
  107. ;
  108. ;
  109. atol        macro
  110.         ifndef    sl_atol
  111. stdlib        segment    para public 'slcode'
  112.         extrn    sl_atol:far
  113. stdlib        ends                
  114.         endif
  115.         call    sl_atol
  116.         endm
  117. ;
  118. atoul        macro
  119.         ifndef    sl_atoul
  120. stdlib        segment    para public 'slcode'
  121.         extrn    sl_atoul:far
  122. stdlib        ends                
  123.         endif
  124.         call    sl_atoul
  125.         endm
  126. ;
  127. ;
  128. ;
  129. atol2        macro
  130.         ifndef    sl_atol2
  131. stdlib        segment    para public 'slcode'
  132.         extrn    sl_atol2:far
  133. stdlib        ends                
  134.         endif
  135.         call    sl_atol2
  136.         endm
  137. ;
  138. atoul2        macro
  139.         ifndef    sl_atoul2
  140. stdlib        segment    para public 'slcode'
  141.         extrn    sl_atoul2:far
  142. stdlib        ends                
  143.         endif
  144.         call    sl_atoul2
  145.         endm
  146. ;
  147. ;
  148. ; atoi and atou from atoi.asm
  149. ;
  150. atoi        macro
  151.         ifndef    sl_atoi
  152. stdlib        segment    para public 'slcode'
  153.         extrn    sl_atoi:far
  154. stdlib        ends                
  155.         endif
  156.         call    sl_atoi
  157.         endm
  158. ;
  159. atou        macro
  160.         ifndef    sl_atou
  161. stdlib        segment    para public 'slcode'
  162.         extrn    sl_atou:far
  163. stdlib        ends                
  164.         endif
  165.         call    sl_atou
  166.         endm
  167. ;
  168. ;
  169. atoi2        macro
  170.         ifndef    sl_atoi2
  171. stdlib        segment    para public 'slcode'
  172.         extrn    sl_atoi2:far
  173. stdlib        ends                
  174.         endif
  175.         call    sl_atoi2
  176.         endm
  177. ;
  178. atou2        macro
  179.         ifndef    sl_atou2
  180. stdlib        segment    para public 'slcode'
  181.         extrn    sl_atou2:far
  182. stdlib        ends                
  183.         endif
  184.         call    sl_atou2
  185.         endm
  186. ;
  187. ;
  188. ; atoh/2 and atolh/2 from atoh.asm
  189. ;
  190. atoh        macro
  191.         ifndef    sl_atoh
  192. stdlib        segment    para public 'slcode'
  193.         extrn    sl_atoh:far
  194. stdlib        ends                
  195.         endif
  196.         call    sl_atoh
  197.         endm
  198. ;
  199. ;
  200. atolh        macro
  201.         ifndef    sl_atolh
  202. stdlib        segment    para public 'slcode'
  203.         extrn    sl_atolh:far
  204. stdlib        ends                
  205.         endif
  206.         call    sl_atolh
  207.         endm
  208. ;
  209. ;
  210. atoh2        macro
  211.         ifndef    sl_atoh2
  212. stdlib        segment    para public 'slcode'
  213.         extrn    sl_atoh2:far
  214. stdlib        ends                
  215.         endif
  216.         call    sl_atoh2
  217.         endm
  218. ;
  219. ;
  220. atolh2        macro
  221.         ifndef    sl_atolh2
  222. stdlib        segment    para public 'slcode'
  223.         extrn    sl_atolh2:far
  224. stdlib        ends                
  225.         endif
  226.         call    sl_atolh2
  227.         endm
  228. ;
  229. ;
  230. ;------------------------------------------------
  231. ;
  232. ;
  233. ISize        macro
  234.         ifndef    sl_ISize
  235. stdlib        segment    para public 'slcode'
  236.         extrn    sl_ISize:far
  237. stdlib        ends                
  238.         endif
  239.         call    sl_Isize
  240.         endm
  241. ;
  242. USize        macro
  243.         ifndef    sl_USize
  244. stdlib        segment    para public 'slcode'
  245.         extrn    sl_USize:far
  246. stdlib        ends                
  247.         endif
  248.         call    sl_USize
  249.         endm
  250. ;
  251. ;
  252. ; LSize and ULSize from lsize.asm
  253. ;
  254. LSize        macro
  255.         ifndef    sl_LSize
  256. stdlib        segment    para public 'slcode'
  257.         extrn    sl_LSize:far
  258. stdlib        ends                
  259.         endif
  260.         call    sl_Lsize
  261.         endm
  262. ;
  263. ULSize        macro
  264.         ifndef    sl_ULSize
  265. stdlib        segment    para public 'slcode'
  266.         extrn    sl_ULSize:far
  267. stdlib        ends                
  268.         endif
  269.         call    sl_ULSize
  270.         endm
  271. ;
  272. ;
  273. ;-----------------------------------------------------------------------
  274. ;
  275. ;
  276. Print        macro
  277.         ifndef    sl_print
  278. stdlib        segment    para public 'slcode'
  279.         extrn    sl_print:far
  280. stdlib        ends                
  281.         endif
  282.         call    sl_print
  283.         endm
  284. ;
  285. ;---------------------------------------------------------------------------
  286. ;
  287. ;
  288. Printf        macro
  289.         ifndef    sl_printf
  290. stdlib        segment    para public 'slcode'
  291.         extrn    sl_printf:far
  292. stdlib        ends                
  293.         endif
  294.         call    sl_printf
  295.         endm
  296. ;
  297. ;
  298. SPrintf        macro
  299.         ifndef    sl_sprintf
  300. stdlib        segment    para public 'slcode'
  301.         extrn    sl_sprintf:far
  302.         ifndef    sp_BufSize
  303.         extrn    sp_BufSize:word
  304.                 endif
  305. stdlib        ends                
  306.         endif
  307.         call    sl_sprintf
  308.         endm
  309. ;
  310. ;
  311. SBPrintf    macro
  312.         ifndef    sl_sbprintf
  313. stdlib        segment    para public 'slcode'
  314.         extrn    sl_sbprintf:far
  315. stdlib        ends                
  316.         endif
  317.         call    sl_sbprintf
  318.         endm
  319. ;
  320. ;
  321. ;
  322. Scanf        macro
  323.         ifndef    sl_scanf
  324. stdlib        segment    para public 'slcode'
  325.         extrn    sl_scanf:far
  326. stdlib        ends                
  327.         endif
  328.         call    sl_scanf
  329.         endm
  330. ;
  331. SScanf        macro
  332.         ifndef    sl_sscanf
  333. stdlib        segment    para public 'slcode'
  334.         extrn    sl_sscanf:far
  335. stdlib        ends                
  336.         endif
  337.         call    sl_sscanf
  338.         endm
  339. ;
  340. ;
  341. ;---------------------------------------------------------------------------
  342. ;
  343. ;
  344. Putc        macro
  345.         ifndef    sl_putc
  346. stdlib        segment    para public 'slcode'
  347.         extrn    sl_putc:far
  348. stdlib        ends                
  349.         endif
  350.         call    sl_putc
  351.         endm
  352. ;
  353. ;
  354. Putcr        macro
  355.         ifndef    sl_putcr
  356. stdlib        segment    para public 'slcode'
  357.         extrn    sl_putcr:far
  358. stdlib        ends                
  359.         endif
  360.         call    sl_putcr
  361.         endm
  362. ;
  363. ;
  364. ;
  365. PutcStdOut    macro
  366.         ifndef    sl_putcStdOut
  367. stdlib        segment    para public 'slcode'
  368.         extrn    sl_putcStdOut:far
  369. stdlib        ends                
  370.         endif
  371.         call    sl_putcStdOut
  372.         endm
  373. ;
  374. ;
  375. ;
  376. PutcBIOS    macro
  377.         ifndef    sl_putcBIOS
  378. stdlib        segment    para public 'slcode'
  379.         extrn    sl_putcBIOS:far
  380. stdlib        ends                
  381.         endif
  382.         call    sl_putcBIOS
  383.         endm
  384. ;
  385. ;
  386. ;
  387. SetOutAdrs    macro
  388.         ifndef    sl_SetOutAdrs
  389. stdlib        segment    para public 'slcode'
  390.         extrn    sl_SetOutAdrs:far
  391. stdlib        ends                
  392.         endif
  393.         call    sl_SetOutAdrs
  394.         endm
  395. ;
  396. ;
  397. GetOutAdrs    macro
  398.         ifndef    sl_GetOutAdrs
  399. stdlib        segment    para public 'slcode'
  400.         extrn    sl_GetOutAdrs:far
  401. stdlib        ends                
  402.         endif
  403.         call    sl_GetOutAdrs
  404.         endm
  405. ;
  406. ;
  407. PushOutAdrs    macro
  408.         ifndef    sl_PushOutAdrs
  409. stdlib        segment    para public 'slcode'
  410.         extrn    sl_PushOutAdrs:far
  411. stdlib        ends                
  412.         endif
  413.         call    sl_PushOutAdrs
  414.         endm
  415. ;
  416. ;
  417. PopOutAdrs    macro
  418.         ifndef    sl_PopOutAdrs
  419. stdlib        segment    para public 'slcode'
  420.         extrn    sl_PopOutAdrs:far
  421. stdlib        ends                
  422.         endif
  423.         call    sl_PopOutAdrs
  424.         endm
  425. ;
  426. ;
  427. PutISize    macro
  428.         ifndef    sl_putisize
  429. stdlib        segment    para public 'slcode'
  430.         extrn    sl_putisize:far
  431. stdlib        ends                
  432.         endif
  433.         call    sl_putisize
  434.         endm
  435. ;
  436. ;
  437. PutUSize    macro
  438.         ifndef    sl_putusize
  439. stdlib        segment    para public 'slcode'
  440.         extrn    sl_putusize:far
  441. stdlib        ends                
  442.         endif
  443.         call    sl_putusize
  444.         endm
  445. ;
  446. ;
  447. ;
  448. PutLSize    macro
  449.         ifndef    sl_putlsize
  450. stdlib        segment    para public 'slcode'
  451.         extrn    sl_putlsize:far
  452. stdlib        ends                
  453.         endif
  454.         call    sl_putlsize
  455.         endm
  456. ;
  457. ;
  458. PutULSize    macro
  459.         ifndef    sl_putulsize
  460. stdlib        segment    para public 'slcode'
  461.         extrn    sl_putulsize:far
  462. stdlib        ends                
  463.         endif
  464.         call    sl_putulsize
  465.         endm
  466. ;
  467. ;
  468. ;---------------------------------------------------------------------------
  469. ;
  470. ;
  471. Puts        macro
  472.         ifndef    sl_puts
  473. stdlib        segment    para public 'slcode'
  474.         extrn    sl_puts:far
  475. stdlib        ends                
  476.         endif
  477.         call    sl_puts
  478.         endm
  479. ;
  480. ;
  481. ;----------------------------------------------------------------------------
  482. ;
  483. ;
  484. Puth        macro
  485.         ifndef    sl_puth
  486. stdlib        segment    para public 'slcode'
  487.         extrn    sl_puth:far
  488. stdlib        ends                
  489.         endif
  490.         call    sl_puth
  491.         endm
  492. ;
  493. ;
  494. Putw        macro
  495.         ifndef    sl_putw
  496. stdlib        segment    para public 'slcode'
  497.         extrn    sl_putw:far
  498. stdlib        ends                
  499.         endif
  500.         call    sl_putw
  501.         endm
  502. ;
  503. ;---------------------------------------------------------------------------
  504. ;
  505. Puti        macro
  506.         ifndef    sl_puti
  507. stdlib        segment    para public 'slcode'
  508.         extrn    sl_puti:far
  509. stdlib        ends                
  510.         endif
  511.         call    sl_puti
  512.         endm
  513. ;
  514. ;
  515. Putu        macro
  516.         ifndef    sl_putu
  517. stdlib        segment    para public 'slcode'
  518.         extrn    sl_putu:far
  519. stdlib        ends                
  520.         endif
  521.         call    sl_putu
  522.         endm
  523. ;
  524. ;
  525. ;
  526. Putl        macro
  527.         ifndef    sl_putl
  528. stdlib        segment    para public 'slcode'
  529.         extrn    sl_putl:far
  530. stdlib        ends                
  531.         endif
  532.         call    sl_putl
  533.         endm
  534. ;
  535. ;
  536. PutUL        macro
  537.         ifndef    sl_putul
  538. stdlib        segment    para public 'slcode'
  539.         extrn    sl_putul:far
  540. stdlib        ends                
  541.         endif
  542.         call    sl_putul
  543.         endm
  544. ;
  545. ;
  546. ;--------------------------------------------------------------------------
  547. ;
  548. ;
  549. itoa        macro
  550.         ifndef    sl_itoa
  551. stdlib        segment    para public 'slcode'
  552.         extrn    sl_itoa:far
  553. stdlib        ends                
  554.         endif
  555.         call    sl_itoa
  556.         endm
  557. ;
  558. ;
  559. utoa        macro
  560.         ifndef    sl_utoa
  561. stdlib        segment    para public 'slcode'
  562.         extrn    sl_utoa:far
  563. stdlib        ends                
  564.         endif
  565.         call    sl_utoa
  566.         endm
  567. ;
  568. ;
  569. ;
  570. htoa        macro
  571.         ifndef    sl_htoa
  572. stdlib        segment    para public 'slcode'
  573.         extrn    sl_htoa:far
  574. stdlib        ends
  575.         endif
  576.         call    sl_htoa
  577.         endm
  578. ;
  579. ;
  580. wtoa        macro
  581.         ifndef    sl_wtoa
  582. stdlib        segment    para public 'slcode'
  583.         extrn    sl_wtoa:far
  584. stdlib        ends
  585.         endif
  586.         call    sl_wtoa
  587.         endm
  588. ;
  589. ;
  590. ;
  591. ltoa        macro
  592.         ifndef    sl_ltoa
  593. stdlib        segment    para public 'slcode'
  594.         extrn    sl_ltoa:far
  595. stdlib        ends
  596.         endif
  597.         call    sl_ltoa
  598.         endm
  599. ;
  600. ;
  601. ;
  602. ultoa        macro
  603.         ifndef    sl_ultoa
  604. stdlib        segment    para public 'slcode'
  605.         extrn    sl_ultoa:far
  606. stdlib        ends                
  607.         endif
  608.         call    sl_ultoa
  609.         endm
  610. ;
  611. ;
  612. ;
  613. MemInit        macro
  614.         ifndef    sl_MemInit
  615. stdlib        segment    para public 'slcode'
  616.         extrn    sl_MemInit:far
  617. stdlib        ends                
  618.         endif
  619.         call    sl_MemInit
  620.         endm
  621. ;
  622. ;
  623. ;
  624. malloc        macro
  625.         ifndef    sl_malloc
  626. stdlib        segment    para public 'slcode'
  627.         extrn    sl_malloc:far
  628. stdlib        ends                
  629.         endif
  630.         call    sl_malloc
  631.         endm
  632. ;
  633. ;
  634. realloc        macro
  635.         ifndef    sl_realloc
  636. stdlib        segment    para public 'slcode'
  637.         extrn    sl_realloc:far
  638. stdlib        ends                
  639.         endif
  640.         call    sl_realloc
  641.         endm
  642. ;
  643. ;
  644. DupPtr        macro
  645.         ifndef    sl_dupptr
  646. stdlib        segment    para public 'slcode'
  647.         extrn    sl_dupptr:far
  648. stdlib        ends                
  649.         endif
  650.         call    sl_dupptr
  651.         endm
  652. ;
  653. ;
  654. free        macro
  655.         ifndef    sl_free
  656. stdlib        segment    para public 'slcode'
  657.         extrn    sl_free:far
  658. stdlib        ends                
  659.         endif
  660.         call    sl_free
  661.         endm
  662. ;
  663. ;
  664. ;
  665. ;
  666. IsInHeap    macro
  667.         ifndef    sl_IsInHeap
  668. stdlib        segment    para public 'slcode'
  669.         extrn    sl_IsInHeap:far
  670. stdlib        ends                
  671.         endif
  672.         call    sl_IsInHeap
  673.         endm
  674. ;
  675. ;
  676. IsPtr        macro
  677.         ifndef    sl_IsPtr
  678. stdlib        segment    para public 'slcode'
  679.         extrn    sl_IsPtr:far
  680. stdlib        ends                
  681.         endif
  682.         call    sl_IsPtr
  683.         endm
  684. ;
  685. ;
  686. ;---------------------------------------------------------------------------
  687. ;
  688. IsAlNum        macro
  689.         ifndef    sl_IsAlNum
  690. stdlib        segment    para public 'slcode'
  691.         extrn    sl_IsAlNum:far
  692. stdlib        ends                
  693.         endif
  694.         call    sl_IsAlNum
  695.         endm
  696. ;
  697. ;
  698. ; IsxDigit- Checks al to see if it is a hex digit.
  699. ;
  700. IsxDigit    macro
  701.         ifndef    sl_IsxDigit
  702. stdlib        segment    para public 'slcode'
  703.         extrn    sl_IsxDigit:far
  704. stdlib        ends                
  705.         endif
  706.         call    sl_IsxDigit
  707.         endm
  708. ;
  709. ;        
  710. ;
  711. ToLower        macro
  712.         local    NoCnvrt
  713.         cmp    al, 'A'
  714.         jb    NoCnvrt
  715.         cmp    al, 'Z'
  716.         ja    NoCnvrt
  717.         or    al, 20h
  718. NoCnvrt:
  719.         endm
  720. ;
  721. ;
  722. ;
  723. ToUpper        macro
  724.         local    NoCnvrt
  725.         cmp    al, 'a'
  726.         jb    NoCnvrt
  727.         cmp    al, 'z'
  728.         ja    NoCnvrt
  729.         and    al, 05fh
  730. NoCnvrt:
  731.         endm
  732. ;
  733. ;
  734. ;
  735. IsDigit        macro
  736.         local    NotDigit, IsDigit
  737.         cmp    al, '0'
  738.         jb    NotDigit         ;Note: this also clears ZF.
  739.         cmp    al, '9'
  740.         ja    NotDigit        ;Also clears ZF.
  741.         cmp    al, al            ;Set Zero flag
  742. NotDigit:
  743.         endm
  744. ;
  745. ;
  746. ;
  747. IsAlpha        macro
  748.         local    IsAl, NotAlpha
  749.         cmp    al, 'A'
  750.         jb    NotAlpha        ;Also clears ZF.
  751.         cmp    al, 'Z'
  752.         jbe    IsAl
  753.         cmp    al, 'a'
  754.         jb    NotAlpha
  755.         cmp    al, 'z'
  756.         ja    NotAlpha
  757. IsAl:        cmp    al, al            ;Set ZF.
  758. NotAlpha:
  759.         endm
  760. ;
  761. ;
  762. IsLower        macro
  763.         local    NotLower
  764.         cmp    al, 'a'
  765.         jb    NotLower
  766.         cmp    al, 'z'
  767.         ja    NotLower
  768.         cmp    al, al            ;Set ZF.
  769. NotLower:
  770.         endm
  771. ;
  772. ;
  773. ; IsUpper-    Checks to see if the character in al is upper case.
  774. ;
  775. IsUpper        macro
  776.         local    NotUpper
  777.         cmp    al, 'A'
  778.         jb    NotUpper
  779.         cmp    al, 'Z'
  780.         ja    NotUpper
  781.         cmp    al, al            ;Set ZF.
  782. NotUpper:
  783.         endm
  784. ;
  785. ;
  786. ;--------------------------------------------------------------------------
  787. ;
  788. ;
  789. strcpy        macro
  790.         ifndef    sl_strcpy
  791. stdlib        segment    para public 'slcode'
  792.         extrn    sl_strcpy:far
  793. stdlib        ends                
  794.         endif
  795.         call    sl_strcpy
  796.         endm
  797. ;
  798. ;
  799. ;
  800. ;
  801. strcpyl        macro
  802.         ifndef    sl_strcpyl
  803. stdlib        segment    para public 'slcode'
  804.         extrn    sl_strcpyl:far
  805. stdlib        ends                
  806.         endif
  807.         call    sl_strcpyl
  808.         endm
  809. ;
  810. ;
  811. ;
  812. strdup        macro
  813.         ifndef    sl_strdup
  814. stdlib        segment    para public 'slcode'
  815.         extrn    sl_strdup:far
  816. stdlib        ends                
  817.         endif
  818.         call    sl_strdup
  819.         endm
  820. ;
  821. ;
  822. ;
  823. strdupl        macro
  824.         ifndef    sl_strdupl
  825. stdlib        segment    para public 'slcode'
  826.         extrn    sl_strdupl:far
  827. stdlib        ends                
  828.         endif
  829.         call    sl_strdupl
  830.         endm
  831. ;
  832. ;
  833. strlen        macro
  834.         ifndef    sl_strlen
  835. stdlib        segment    para public 'slcode'
  836.         extrn    sl_strlen:far
  837. stdlib        ends                
  838.         endif
  839.         call    sl_strlen
  840.         endm
  841. ;
  842. ;
  843. strcat        macro
  844.         ifndef    sl_strcat
  845. stdlib        segment    para public 'slcode'
  846.         extrn    sl_strcat:far
  847. stdlib        ends                
  848.         endif
  849.         call    sl_strcat
  850.         endm
  851. ;
  852. ;
  853. strcatl        macro
  854.         ifndef    sl_strcatl
  855. stdlib        segment    para public 'slcode'
  856.         extrn    sl_strcatl:far
  857. stdlib        ends                
  858.         endif
  859.         call    sl_strcatl
  860.         endm
  861. ;
  862. ;
  863. strcat2        macro
  864.         ifndef    sl_strcat2
  865. stdlib        segment    para public 'slcode'
  866.         extrn    sl_strcat2:far
  867. stdlib        ends                
  868.         endif
  869.         call    sl_strcat2
  870.         endm
  871. ;
  872. ;
  873. ;
  874. strcat2l    macro
  875.         ifndef    sl_strcat2l
  876. stdlib        segment    para public 'slcode'
  877.         extrn    sl_strcat2l:far
  878. stdlib        ends                
  879.         endif
  880.         call    sl_strcat2l
  881.         endm
  882. ;
  883. ;
  884. ;
  885. strchr        macro
  886.         ifndef    sl_strchr
  887. stdlib        segment    para public 'slcode'
  888.         extrn    sl_strchr:far
  889. stdlib        ends                
  890.         endif
  891.         call    sl_strchr
  892.         endm
  893. ;
  894. ;
  895. strstr        macro
  896.         ifndef    sl_strstr
  897. stdlib        segment    para public 'slcode'
  898.         extrn    sl_strstr:far
  899. stdlib        ends
  900.         endif
  901.         call    sl_strstr
  902.         endm
  903. ;
  904. ;
  905. ;
  906. strstrl        macro
  907.         ifndef    sl_strstrl
  908. stdlib        segment    para public 'slcode'
  909.         extrn    sl_strstrl:far
  910. stdlib        ends
  911.         endif
  912.         call    sl_strstrl
  913.         endm
  914. ;
  915. ;
  916. ;
  917. strcmp        macro
  918.         ifndef    sl_strcmp
  919. stdlib        segment    para public 'slcode'
  920.         extrn    sl_strcmp:far
  921. stdlib        ends                
  922.         endif
  923.         call    sl_strcmp
  924.         endm
  925. ;
  926. ;
  927. ; stricmp-    As with strcmp above, except it is case insensitive.
  928. ;
  929. stricmp        macro
  930.         ifndef    sl_stricmp
  931. stdlib        segment    para public 'slcode'
  932.         extrn    sl_stricmp:far
  933. stdlib        ends                
  934.         endif
  935.         call    sl_stricmp
  936.         endm
  937. ;
  938. ;
  939. stricmpl    macro
  940.         ifndef    sl_stricmpl
  941. stdlib        segment    para public 'slcode'
  942.         extrn    sl_stricmpl:far
  943. stdlib        ends                
  944.         endif
  945.         call    sl_stricmpl
  946.         endm
  947. ;
  948. strcmpl        macro
  949.         ifndef    sl_strcmpl
  950. stdlib        segment    para public 'slcode'
  951.         extrn    sl_strcmpl:far
  952. stdlib        ends                
  953.         endif
  954.         call    sl_strcmpl
  955.         endm
  956. ;
  957. ;
  958. strupr        macro
  959.         ifndef    sl_strupr
  960. stdlib        segment    para public 'slcode'
  961.         extrn    sl_strupr:far
  962. stdlib        ends                
  963.         endif
  964.         call    sl_strupr
  965.         endm
  966. ;
  967. ;
  968. strupr2        macro
  969.         ifndef    sl_strupr2
  970. stdlib        segment    para public 'slcode'
  971.         extrn    sl_strupr2:far
  972. stdlib        ends                
  973.         endif
  974.         call    sl_strupr2
  975.         endm
  976. ;
  977. ;
  978. strlwr        macro
  979.         ifndef    sl_strlwr
  980. stdlib        segment    para public 'slcode'
  981.         extrn    sl_strlwr:far
  982. stdlib        ends                
  983.         endif
  984.         call    sl_strlwr
  985.         endm
  986. ;
  987. ;
  988. strlwr2        macro
  989.         ifndef    sl_strlwr2
  990. stdlib        segment    para public 'slcode'
  991.         extrn    sl_strlwr2:far
  992. stdlib        ends                
  993.         endif
  994.         call    sl_strlwr2
  995.         endm
  996. ;
  997. ;
  998. strset        macro
  999.         ifndef    sl_strset
  1000. stdlib        segment    para public 'slcode'
  1001.         extrn    sl_strset:far
  1002. stdlib        ends                
  1003.         endif
  1004.         call    sl_strset
  1005.         endm
  1006. ;
  1007. ;
  1008. strset2        macro
  1009.         ifndef    sl_strset2
  1010. stdlib        segment    para public 'slcode'
  1011.         extrn    sl_strset2:far
  1012. stdlib        ends                
  1013.         endif
  1014.         call    sl_strset2
  1015.         endm
  1016. ;
  1017. ;
  1018. strspan        macro
  1019.         ifndef    sl_strspan
  1020. stdlib        segment    para public 'slcode'
  1021.         extrn    sl_strspan:far
  1022. stdlib        ends                
  1023.         endif
  1024.         call    sl_strspan
  1025.         endm
  1026. ;
  1027. ;
  1028. ;
  1029. strspanl    macro
  1030.         ifndef    sl_strspanl
  1031. stdlib        segment    para public 'slcode'
  1032.         extrn    sl_strspanl:far
  1033. stdlib        ends                
  1034.         endif
  1035.         call    sl_strspanl
  1036.         endm
  1037. ;
  1038. ;
  1039. ;
  1040. strcspan    macro
  1041.         ifndef    sl_strcspan
  1042. stdlib        segment    para public 'slcode'
  1043.         extrn    sl_strcspan:far
  1044. stdlib        ends                
  1045.         endif
  1046.         call    sl_strcspan
  1047.         endm
  1048. ;
  1049. ;
  1050. ;
  1051. strcspanl    macro
  1052.         ifndef    sl_strcspanl
  1053. stdlib        segment    para public 'slcode'
  1054.         extrn    sl_strcspanl:far
  1055. stdlib        ends                
  1056.         endif
  1057.         call    sl_strcspanl
  1058.         endm
  1059. ;
  1060. ;
  1061. ;
  1062. ;
  1063. ;
  1064. set        macro    n0,n1,n2,n3,n4,n5,n6,n7
  1065. n0        db    1
  1066. n1        db    2
  1067. n2        db    4
  1068. n3        db    8
  1069. n4        db    10h
  1070. n5        db    20h
  1071. n6        db    40h
  1072. n7        db    80h
  1073.         db    264 dup (0)
  1074.         endm
  1075. ;
  1076. ;
  1077. CreateSets    macro
  1078.         ifndef    sl_CreateSets
  1079. stdlib        segment    para public 'slcode'
  1080.         extrn    sl_CreateSets:far
  1081. stdlib        ends                
  1082.         endif
  1083.         call    sl_CreateSets
  1084.         endm
  1085. ;
  1086. ;
  1087. EmptySet    macro
  1088.         ifndef    sl_EmptySet
  1089. stdlib        segment    para public 'slcode'
  1090.         extrn    sl_EmptySet:far
  1091. stdlib        ends                
  1092.         endif
  1093.         call    sl_EmptySet
  1094.         endm
  1095. ;
  1096. ;
  1097. RangeSet    macro
  1098.         ifndef    sl_RangeSet
  1099. stdlib        segment    para public 'slcode'
  1100.         extrn    sl_RangeSet:far
  1101. stdlib        ends
  1102.         endif
  1103.         call    sl_RangeSet
  1104.         endm
  1105. ;
  1106. ;
  1107. AddStr        macro
  1108.         ifndef    sl_AddStr
  1109. stdlib        segment    para public 'slcode'
  1110.         extrn    sl_AddStr:far
  1111. stdlib        ends
  1112.         endif
  1113.         call    sl_AddStr
  1114.         endm
  1115. ;
  1116. ;
  1117. AddStrl        macro
  1118.         ifndef    sl_AddStrl
  1119. stdlib        segment    para public 'slcode'
  1120.         extrn    sl_AddStrl:far
  1121. stdlib        ends
  1122.         endif
  1123.         call    sl_AddStrl
  1124.         endm
  1125. ;
  1126. ;
  1127. RmvStr        macro
  1128.         ifndef    sl_RmvStr
  1129. stdlib        segment    para public 'slcode'
  1130.         extrn    sl_RmvStr:far
  1131. stdlib        ends                
  1132.         endif
  1133.         call    sl_RmvStr
  1134.         endm
  1135. ;
  1136. ;
  1137. RmvStrl        macro
  1138.         ifndef    sl_RmvStrl
  1139. stdlib        segment    para public 'slcode'
  1140.         extrn    sl_RmvStrl:far
  1141. stdlib        ends                
  1142.         endif
  1143.         call    sl_RmvStrl
  1144.         endm
  1145. ;
  1146. ;
  1147. AddChar        macro
  1148.         ifndef    sl_AddChar
  1149. stdlib        segment    para public 'slcode'
  1150.         extrn    sl_AddChar:far
  1151. stdlib        ends                
  1152.         endif
  1153.         call    sl_AddChar
  1154.         endm
  1155. ;
  1156. ;
  1157. RmvChar        macro
  1158.         ifndef    sl_RmvChar
  1159. stdlib        segment    para public 'slcode'
  1160.         extrn    sl_RmvChar:far
  1161. stdlib        ends
  1162.         endif
  1163.         call    sl_RmvChar
  1164.         endm
  1165. ;
  1166. ;
  1167. Member        macro
  1168.         ifndef    sl_member
  1169. stdlib        segment    para public 'slcode'
  1170.         extrn    sl_member:far
  1171. stdlib        ends
  1172.         endif
  1173.         call    sl_member
  1174.         endm
  1175. ;
  1176. ;
  1177. CopySet        macro
  1178.         ifndef    sl_CopySet
  1179. stdlib        segment    para public 'slcode'
  1180.         extrn    sl_CopySet:far
  1181. stdlib        ends
  1182.         endif
  1183.         call    sl_CopySet
  1184.         endm
  1185. ;
  1186. ;
  1187. setunion    macro
  1188.         ifndef    sl_union
  1189. stdlib        segment    para public 'slcode'
  1190.         extrn    sl_union:far
  1191. stdlib        ends
  1192.         endif
  1193.         call    sl_union
  1194.         endm
  1195. ;
  1196. ;
  1197. SetIntersect    macro
  1198.         ifndef    sl_Intersect
  1199. stdlib        segment    para public 'slcode'
  1200.         extrn    sl_Intersect:far
  1201. stdlib        ends
  1202.         endif
  1203.         call    sl_Intersect
  1204.         endm
  1205. ;
  1206. ;
  1207. SetDifference    macro
  1208.         ifndef    sl_Difference
  1209. stdlib        segment    para public 'slcode'
  1210.         extrn    sl_Difference:far
  1211. stdlib        ends
  1212.         endif
  1213.         call    sl_Difference
  1214.         endm
  1215. ;
  1216. ;
  1217. NextItem    macro
  1218.         ifndef    sl_NextItem
  1219. stdlib        segment    para public 'slcode'
  1220.         extrn    sl_NextItem:far
  1221. stdlib        ends
  1222.         endif
  1223.         call    sl_NextItem
  1224.         endm
  1225. ;
  1226. ;
  1227. RmvItem        macro
  1228.         ifndef    sl_RmvItem
  1229. stdlib        segment    para public 'slcode'
  1230.         extrn    sl_RmvItem:far
  1231. stdlib        ends
  1232.         endif
  1233.         call    sl_RmvItem
  1234.         endm
  1235. ;
  1236. ;
  1237. ;
  1238. ;
  1239. ;
  1240. ;--------------------------------------------------------------------------
  1241. ;
  1242. ;
  1243. ; Routines to add:
  1244. ;
  1245. ; getenv, argc, argv
  1246. ;
  1247. ;
  1248. ; String Routines:
  1249. ;
  1250. ; strins, strinsl, strins2, strins2l, strdel, strdel2, substr, substr2
  1251. ;
  1252. ; File routines:
  1253. ;
  1254. ; fclose, feof, fflush, fgetc, fputc, fgetpos, fgets, filelength, fopen,
  1255. ; fprintf, fputs, fread, fscanf, fseek, fstat, fwrite
  1256. ;
  1257. ; getcwd, mkdir, chdir, mktemp, remove, rename, rewind, rmdir, rmtemp, 
  1258. ;
  1259.